//https://leetcode.cn/problems/top-k-frequent-elements/?envType=study-plan-v2&envId=top-100-liked
#include <iostream>
#include <vector>
#include <set>
#include <queue>
#include <string>
#include <map>

using namespace std;

struct Person {
    std::string name;
    int age;
};
// 自定义比较函数
bool comparePerson(const Person& p1, const Person& p2) {
    return p1.name < p2.name;
}

bool compare(const pair<int, int>& lhs, const pair<int, int>& rhs) {
            return lhs.second > rhs.second;
}

void use_() {
    // 创建一个 std::map，其中 key 为 Person 类型，value 为 string 类型
    std::map<Person, std::string, decltype(&comparePerson)> myMap(comparePerson);
    // 定义一个小顶堆，大小为k
    priority_queue<pair<int, int>, vector<pair<int, int>>,decltype(&compare) > pri_que(compare);
}